/*
 * @Description: 
 * @Author: pangjl
 * @Date: 2024-11-27 14:37:54
 * @LastEditors: pangjl
 * @LastEditTime: 2024-11-28 09:01:57
 * 我希望明天不上课！
 */
package com.briup.demo.mapper;

import com.briup.demo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

// 在程序运行时 框架会自动生成接口的实现类对象，
// 并交给spring的IOC容器管理
@Mapper // 表示这个是MyBatis中的Mapper接口
public interface UserMapper {
  // 根据id删除用户
  // 参数 id 用户id
  // 返回值 无
  @Delete("delete from es_user where id = #{id}")
  public void deleteUserById(Integer id);

  // 根据id查询用户信息
  public User getUserById(Integer id);

  // 多条件查询用户信息
  public List<User> getUserByCondition(
          @Param("name") String name,
          @Param("status") Byte status,
          @Param("begin") LocalDateTime begin,
          @Param("end") LocalDateTime end
  );
  public List<User> getUserByConditionNew(
          @Param("name") String name,
          @Param("status") Byte status,
          @Param("begin") LocalDateTime begin,
          @Param("end") LocalDateTime end
  );
  public void updateUser(User user);

  public void delUserByIds(@Param("ids") List<Integer> ids);
}